<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html xmlns:yui="http://yuilibrary.com/rdf/1.0/yui.rdf#">
<head>
    <meta http-equiv="content-type" content="text/html; charset=UTF-8" />
	<title>API: yahoo   Env.js  (YUI Library)</title>

	<link rel="stylesheet" type="text/css" href="assets/reset-fonts-grids-min.css" />
	<link rel="stylesheet" type="text/css" href="assets/api.css" />

    <script type="text/javascript" src="assets/api-js"></script>
    <script type="text/javascript" src="assets/ac-js"></script>
</head>

<body id="yahoo-com">

<div id="doc3" class="yui-t2">
	<div id="hd">
        <h1><a href="http://developer.yahoo.com/yui/" title="Yahoo! UI Library">Yahoo! UI Library</a></h1>
        <h3>YAHOO Global&nbsp; <span class="subtitle">2.9.0</span></h3>
        <a href="./index.html" title="Yahoo! UI Library">Yahoo! UI Library</a> 
            &gt; <a href="./module_yahoo.html" title="yahoo">yahoo</a>
                
                 &gt; Env.js (source view) 
        <form onsubmit="return false">
            <div id="propertysearch">
                Search: <input autocomplete="off" id="searchinput" />
                <div id="searchresults">
                    &nbsp;
                </div>
            </div>
        </form>
	</div>

	<div id="bd">
		<div id="yui-main">
			<div class="yui-b">
            <form action="#" name="yui-classopts-form" method="get" id="yui-classopts-form">
                <fieldset>
                    <legend>Filters</legend>
                <span class="classopts"><input type="checkbox" name="show_private" id="show_private" /> <label for="show_private">Show Private</label></span>
                <span class="classopts"><input type="checkbox" name="show_protected" id="show_protected" /> <label for="show_protected">Show Protected</label></span>
                <span class="classopts"><input type="checkbox" name="show_deprecated" id="show_deprecated" /> <label for="show_deprecated">Show Deprecated</label></span>
                </fieldset>
            </form>

                    <div id="srcout">
                        <style>
                            #doc3 .classopts { display:none; }
                        </style>
                        <div class="highlight"><pre><span class="cm">/**</span>
<span class="cm"> * YAHOO.env is used to keep track of what is known about the YUI library and</span>
<span class="cm"> * the browsing environment</span>
<span class="cm"> * @class YAHOO.env</span>
<span class="cm"> * @static</span>
<span class="cm"> */</span>
<span class="nx">YAHOO</span><span class="p">.</span><span class="nx">env</span> <span class="o">=</span> <span class="nx">YAHOO</span><span class="p">.</span><span class="nx">env</span> <span class="o">||</span> <span class="p">{</span>

    <span class="cm">/**</span>
<span class="cm">     * Keeps the version info for all YUI modules that have reported themselves</span>
<span class="cm">     * @property modules</span>
<span class="cm">     * @type Object[]</span>
<span class="cm">     */</span>
    <span class="nx">modules</span><span class="o">:</span> <span class="p">[],</span>

    <span class="cm">/**</span>
<span class="cm">     * List of functions that should be executed every time a YUI module</span>
<span class="cm">     * reports itself.</span>
<span class="cm">     * @property listeners</span>
<span class="cm">     * @type Function[]</span>
<span class="cm">     */</span>
    <span class="nx">listeners</span><span class="o">:</span> <span class="p">[]</span>
<span class="p">};</span>

<span class="cm">/**</span>
<span class="cm"> * Returns the version data for the specified module:</span>
<span class="cm"> *      &lt;dl&gt;</span>
<span class="cm"> *      &lt;dt&gt;name:&lt;/dt&gt;      &lt;dd&gt;The name of the module&lt;/dd&gt;</span>
<span class="cm"> *      &lt;dt&gt;version:&lt;/dt&gt;   &lt;dd&gt;The version in use&lt;/dd&gt;</span>
<span class="cm"> *      &lt;dt&gt;build:&lt;/dt&gt;     &lt;dd&gt;The build number in use&lt;/dd&gt;</span>
<span class="cm"> *      &lt;dt&gt;versions:&lt;/dt&gt;  &lt;dd&gt;All versions that were registered&lt;/dd&gt;</span>
<span class="cm"> *      &lt;dt&gt;builds:&lt;/dt&gt;    &lt;dd&gt;All builds that were registered.&lt;/dd&gt;</span>
<span class="cm"> *      &lt;dt&gt;mainClass:&lt;/dt&gt; &lt;dd&gt;An object that was was stamped with the</span>
<span class="cm"> *                 current version and build. If</span>
<span class="cm"> *                 mainClass.VERSION != version or mainClass.BUILD != build,</span>
<span class="cm"> *                 multiple versions of pieces of the library have been</span>
<span class="cm"> *                 loaded, potentially causing issues.&lt;/dd&gt;</span>
<span class="cm"> *       &lt;/dl&gt;</span>
<span class="cm"> *</span>
<span class="cm"> * @method getVersion</span>
<span class="cm"> * @static</span>
<span class="cm"> * @param {String}  name the name of the module (event, slider, etc)</span>
<span class="cm"> * @return {Object} The version info</span>
<span class="cm"> */</span>
<span class="nx">YAHOO</span><span class="p">.</span><span class="nx">env</span><span class="p">.</span><span class="nx">getVersion</span> <span class="o">=</span> <span class="kd">function</span><span class="p">(</span><span class="nx">name</span><span class="p">)</span> <span class="p">{</span>
    <span class="k">return</span> <span class="nx">YAHOO</span><span class="p">.</span><span class="nx">env</span><span class="p">.</span><span class="nx">modules</span><span class="p">[</span><span class="nx">name</span><span class="p">]</span> <span class="o">||</span> <span class="kc">null</span><span class="p">;</span>
<span class="p">};</span>

<span class="cm">/**</span>
<span class="cm"> * Do not fork for a browser if it can be avoided.  Use feature detection when</span>
<span class="cm"> * you can.  Use the user agent as a last resort.  YAHOO.env.ua stores a version</span>
<span class="cm"> * number for the browser engine, 0 otherwise.  This value may or may not map</span>
<span class="cm"> * to the version number of the browser using the engine.  The value is</span>
<span class="cm"> * presented as a float so that it can easily be used for boolean evaluation</span>
<span class="cm"> * as well as for looking for a particular range of versions.  Because of this,</span>
<span class="cm"> * some of the granularity of the version info may be lost (e.g., Gecko 1.8.0.9</span>
<span class="cm"> * reports 1.8).</span>
<span class="cm"> * @class YAHOO.env.ua</span>
<span class="cm"> * @static</span>
<span class="cm"> */</span>

<span class="cm">/**</span>
<span class="cm"> * parses a user agent string (or looks for one in navigator to parse if</span>
<span class="cm"> * not supplied).</span>
<span class="cm"> * @method parseUA</span>
<span class="cm"> * @since 2.9.0</span>
<span class="cm"> * @static</span>
<span class="cm"> */</span>
<span class="nx">YAHOO</span><span class="p">.</span><span class="nx">env</span><span class="p">.</span><span class="nx">parseUA</span> <span class="o">=</span> <span class="kd">function</span><span class="p">(</span><span class="nx">agent</span><span class="p">)</span> <span class="p">{</span>

        <span class="kd">var</span> <span class="nx">numberify</span> <span class="o">=</span> <span class="kd">function</span><span class="p">(</span><span class="nx">s</span><span class="p">)</span> <span class="p">{</span>
            <span class="kd">var</span> <span class="nx">c</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span>
            <span class="k">return</span> <span class="nb">parseFloat</span><span class="p">(</span><span class="nx">s</span><span class="p">.</span><span class="nx">replace</span><span class="p">(</span><span class="sr">/\./g</span><span class="p">,</span> <span class="kd">function</span><span class="p">()</span> <span class="p">{</span>
                <span class="k">return</span> <span class="p">(</span><span class="nx">c</span><span class="o">++</span> <span class="o">==</span> <span class="mi">1</span><span class="p">)</span> <span class="o">?</span> <span class="s1">&#39;&#39;</span> <span class="o">:</span> <span class="s1">&#39;.&#39;</span><span class="p">;</span>
            <span class="p">}));</span>
        <span class="p">},</span>

        <span class="nx">nav</span> <span class="o">=</span> <span class="nx">navigator</span><span class="p">,</span>

        <span class="nx">o</span> <span class="o">=</span> <span class="p">{</span>

        <span class="cm">/**</span>
<span class="cm">         * Internet Explorer version number or 0.  Example: 6</span>
<span class="cm">         * @property ie</span>
<span class="cm">         * @type float</span>
<span class="cm">         * @static</span>
<span class="cm">         */</span>
        <span class="nx">ie</span><span class="o">:</span> <span class="mi">0</span><span class="p">,</span>

        <span class="cm">/**</span>
<span class="cm">         * Opera version number or 0.  Example: 9.2</span>
<span class="cm">         * @property opera</span>
<span class="cm">         * @type float</span>
<span class="cm">         * @static</span>
<span class="cm">         */</span>
        <span class="nx">opera</span><span class="o">:</span> <span class="mi">0</span><span class="p">,</span>

        <span class="cm">/**</span>
<span class="cm">         * Gecko engine revision number.  Will evaluate to 1 if Gecko</span>
<span class="cm">         * is detected but the revision could not be found. Other browsers</span>
<span class="cm">         * will be 0.  Example: 1.8</span>
<span class="cm">         * &lt;pre&gt;</span>
<span class="cm">         * Firefox 1.0.0.4: 1.7.8   &lt;-- Reports 1.7</span>
<span class="cm">         * Firefox 1.5.0.9: 1.8.0.9 &lt;-- 1.8</span>
<span class="cm">         * Firefox 2.0.0.3: 1.8.1.3 &lt;-- 1.81</span>
<span class="cm">         * Firefox 3.0   &lt;-- 1.9</span>
<span class="cm">         * Firefox 3.5   &lt;-- 1.91</span>
<span class="cm">         * &lt;/pre&gt;</span>
<span class="cm">         * @property gecko</span>
<span class="cm">         * @type float</span>
<span class="cm">         * @static</span>
<span class="cm">         */</span>
        <span class="nx">gecko</span><span class="o">:</span> <span class="mi">0</span><span class="p">,</span>

        <span class="cm">/**</span>
<span class="cm">         * AppleWebKit version.  KHTML browsers that are not WebKit browsers</span>
<span class="cm">         * will evaluate to 1, other browsers 0.  Example: 418.9</span>
<span class="cm">         * &lt;pre&gt;</span>
<span class="cm">         * Safari 1.3.2 (312.6): 312.8.1 &lt;-- Reports 312.8 -- currently the</span>
<span class="cm">         *                                   latest available for Mac OSX 10.3.</span>
<span class="cm">         * Safari 2.0.2:         416     &lt;-- hasOwnProperty introduced</span>
<span class="cm">         * Safari 2.0.4:         418     &lt;-- preventDefault fixed</span>
<span class="cm">         * Safari 2.0.4 (419.3): 418.9.1 &lt;-- One version of Safari may run</span>
<span class="cm">         *                                   different versions of webkit</span>
<span class="cm">         * Safari 2.0.4 (419.3): 419     &lt;-- Tiger installations that have been</span>
<span class="cm">         *                                   updated, but not updated</span>
<span class="cm">         *                                   to the latest patch.</span>
<span class="cm">         * Webkit 212 nightly:   522+    &lt;-- Safari 3.0 precursor (with native</span>
<span class="cm">         * SVG and many major issues fixed).</span>
<span class="cm">         * Safari 3.0.4 (523.12) 523.12  &lt;-- First Tiger release - automatic</span>
<span class="cm">         * update from 2.x via the 10.4.11 OS patch.</span>
<span class="cm">         * Webkit nightly 1/2008:525+    &lt;-- Supports DOMContentLoaded event.</span>
<span class="cm">         *                                   yahoo.com user agent hack removed.</span>
<span class="cm">         * &lt;/pre&gt;</span>
<span class="cm">         * http://en.wikipedia.org/wiki/Safari_version_history</span>
<span class="cm">         * @property webkit</span>
<span class="cm">         * @type float</span>
<span class="cm">         * @static</span>
<span class="cm">         */</span>
        <span class="nx">webkit</span><span class="o">:</span> <span class="mi">0</span><span class="p">,</span>

        <span class="cm">/**</span>
<span class="cm">         * Chrome will be detected as webkit, but this property will also</span>
<span class="cm">         * be populated with the Chrome version number</span>
<span class="cm">         * @property chrome</span>
<span class="cm">         * @type float</span>
<span class="cm">         * @static</span>
<span class="cm">         */</span>
        <span class="nx">chrome</span><span class="o">:</span> <span class="mi">0</span><span class="p">,</span>

        <span class="cm">/**</span>
<span class="cm">         * The mobile property will be set to a string containing any relevant</span>
<span class="cm">         * user agent information when a modern mobile browser is detected.</span>
<span class="cm">         * Currently limited to Safari on the iPhone/iPod Touch, Nokia N-series</span>
<span class="cm">         * devices with the WebKit-based browser, and Opera Mini.</span>
<span class="cm">         * @property mobile</span>
<span class="cm">         * @type string</span>
<span class="cm">         * @static</span>
<span class="cm">         */</span>
        <span class="nx">mobile</span><span class="o">:</span> <span class="kc">null</span><span class="p">,</span>

        <span class="cm">/**</span>
<span class="cm">         * Adobe AIR version number or 0.  Only populated if webkit is detected.</span>
<span class="cm">         * Example: 1.0</span>
<span class="cm">         * @property air</span>
<span class="cm">         * @type float</span>
<span class="cm">         */</span>
        <span class="nx">air</span><span class="o">:</span> <span class="mi">0</span><span class="p">,</span>
        <span class="cm">/**</span>
<span class="cm">         * Detects Apple iPad&#39;s OS version</span>
<span class="cm">         * @property ipad</span>
<span class="cm">         * @type float</span>
<span class="cm">         * @static</span>
<span class="cm">         */</span>
        <span class="nx">ipad</span><span class="o">:</span> <span class="mi">0</span><span class="p">,</span>
        <span class="cm">/**</span>
<span class="cm">         * Detects Apple iPhone&#39;s OS version</span>
<span class="cm">         * @property iphone</span>
<span class="cm">         * @type float</span>
<span class="cm">         * @static</span>
<span class="cm">         */</span>
        <span class="nx">iphone</span><span class="o">:</span> <span class="mi">0</span><span class="p">,</span>
        <span class="cm">/**</span>
<span class="cm">         * Detects Apples iPod&#39;s OS version</span>
<span class="cm">         * @property ipod</span>
<span class="cm">         * @type float</span>
<span class="cm">         * @static</span>
<span class="cm">         */</span>
        <span class="nx">ipod</span><span class="o">:</span> <span class="mi">0</span><span class="p">,</span>
        <span class="cm">/**</span>
<span class="cm">         * General truthy check for iPad, iPhone or iPod</span>
<span class="cm">         * @property ios</span>
<span class="cm">         * @type float</span>
<span class="cm">         * @static</span>
<span class="cm">         */</span>
        <span class="nx">ios</span><span class="o">:</span> <span class="kc">null</span><span class="p">,</span>
        <span class="cm">/**</span>
<span class="cm">         * Detects Googles Android OS version</span>
<span class="cm">         * @property android</span>
<span class="cm">         * @type float</span>
<span class="cm">         * @static</span>
<span class="cm">         */</span>
        <span class="nx">android</span><span class="o">:</span> <span class="mi">0</span><span class="p">,</span>
        <span class="cm">/**</span>
<span class="cm">         * Detects Palms WebOS version</span>
<span class="cm">         * @property webos</span>
<span class="cm">         * @type float</span>
<span class="cm">         * @static</span>
<span class="cm">         */</span>
        <span class="nx">webos</span><span class="o">:</span> <span class="mi">0</span><span class="p">,</span>

        <span class="cm">/**</span>
<span class="cm">         * Google Caja version number or 0.</span>
<span class="cm">         * @property caja</span>
<span class="cm">         * @type float</span>
<span class="cm">         */</span>
        <span class="nx">caja</span><span class="o">:</span> <span class="nx">nav</span> <span class="o">&amp;&amp;</span> <span class="nx">nav</span><span class="p">.</span><span class="nx">cajaVersion</span><span class="p">,</span>

        <span class="cm">/**</span>
<span class="cm">         * Set to true if the page appears to be in SSL</span>
<span class="cm">         * @property secure</span>
<span class="cm">         * @type boolean</span>
<span class="cm">         * @static</span>
<span class="cm">         */</span>
        <span class="nx">secure</span><span class="o">:</span> <span class="kc">false</span><span class="p">,</span>

        <span class="cm">/**</span>
<span class="cm">         * The operating system.  Currently only detecting windows or macintosh</span>
<span class="cm">         * @property os</span>
<span class="cm">         * @type string</span>
<span class="cm">         * @static</span>
<span class="cm">         */</span>
        <span class="nx">os</span><span class="o">:</span> <span class="kc">null</span>

    <span class="p">},</span>

    <span class="nx">ua</span> <span class="o">=</span> <span class="nx">agent</span> <span class="o">||</span> <span class="p">(</span><span class="nx">navigator</span> <span class="o">&amp;&amp;</span> <span class="nx">navigator</span><span class="p">.</span><span class="nx">userAgent</span><span class="p">),</span>

    <span class="nx">loc</span> <span class="o">=</span> <span class="nb">window</span> <span class="o">&amp;&amp;</span> <span class="nb">window</span><span class="p">.</span><span class="nx">location</span><span class="p">,</span>

    <span class="nx">href</span> <span class="o">=</span> <span class="nx">loc</span> <span class="o">&amp;&amp;</span> <span class="nx">loc</span><span class="p">.</span><span class="nx">href</span><span class="p">,</span>

    <span class="nx">m</span><span class="p">;</span>

    <span class="nx">o</span><span class="p">.</span><span class="nx">secure</span> <span class="o">=</span> <span class="nx">href</span> <span class="o">&amp;&amp;</span> <span class="p">(</span><span class="nx">href</span><span class="p">.</span><span class="nx">toLowerCase</span><span class="p">().</span><span class="nx">indexOf</span><span class="p">(</span><span class="s2">&quot;https&quot;</span><span class="p">)</span> <span class="o">===</span> <span class="mi">0</span><span class="p">);</span>

    <span class="k">if</span> <span class="p">(</span><span class="nx">ua</span><span class="p">)</span> <span class="p">{</span>

        <span class="k">if</span> <span class="p">((</span><span class="sr">/windows|win32/i</span><span class="p">).</span><span class="nx">test</span><span class="p">(</span><span class="nx">ua</span><span class="p">))</span> <span class="p">{</span>
            <span class="nx">o</span><span class="p">.</span><span class="nx">os</span> <span class="o">=</span> <span class="s1">&#39;windows&#39;</span><span class="p">;</span>
        <span class="p">}</span> <span class="k">else</span> <span class="k">if</span> <span class="p">((</span><span class="sr">/macintosh/i</span><span class="p">).</span><span class="nx">test</span><span class="p">(</span><span class="nx">ua</span><span class="p">))</span> <span class="p">{</span>
            <span class="nx">o</span><span class="p">.</span><span class="nx">os</span> <span class="o">=</span> <span class="s1">&#39;macintosh&#39;</span><span class="p">;</span>
        <span class="p">}</span> <span class="k">else</span> <span class="k">if</span> <span class="p">((</span><span class="sr">/rhino/i</span><span class="p">).</span><span class="nx">test</span><span class="p">(</span><span class="nx">ua</span><span class="p">))</span> <span class="p">{</span>
            <span class="nx">o</span><span class="p">.</span><span class="nx">os</span> <span class="o">=</span> <span class="s1">&#39;rhino&#39;</span><span class="p">;</span>
        <span class="p">}</span>

        <span class="c1">// Modern KHTML browsers should qualify as Safari X-Grade</span>
        <span class="k">if</span> <span class="p">((</span><span class="sr">/KHTML/</span><span class="p">).</span><span class="nx">test</span><span class="p">(</span><span class="nx">ua</span><span class="p">))</span> <span class="p">{</span>
            <span class="nx">o</span><span class="p">.</span><span class="nx">webkit</span> <span class="o">=</span> <span class="mi">1</span><span class="p">;</span>
        <span class="p">}</span>
        <span class="c1">// Modern WebKit browsers are at least X-Grade</span>
        <span class="nx">m</span> <span class="o">=</span> <span class="nx">ua</span><span class="p">.</span><span class="nx">match</span><span class="p">(</span><span class="sr">/AppleWebKit\/([^\s]*)/</span><span class="p">);</span>
        <span class="k">if</span> <span class="p">(</span><span class="nx">m</span> <span class="o">&amp;&amp;</span> <span class="nx">m</span><span class="p">[</span><span class="mi">1</span><span class="p">])</span> <span class="p">{</span>
            <span class="nx">o</span><span class="p">.</span><span class="nx">webkit</span> <span class="o">=</span> <span class="nx">numberify</span><span class="p">(</span><span class="nx">m</span><span class="p">[</span><span class="mi">1</span><span class="p">]);</span>

            <span class="c1">// Mobile browser check</span>
            <span class="k">if</span> <span class="p">(</span><span class="sr">/ Mobile\//</span><span class="p">.</span><span class="nx">test</span><span class="p">(</span><span class="nx">ua</span><span class="p">))</span> <span class="p">{</span>
                <span class="nx">o</span><span class="p">.</span><span class="nx">mobile</span> <span class="o">=</span> <span class="s1">&#39;Apple&#39;</span><span class="p">;</span> <span class="c1">// iPhone or iPod Touch</span>

                <span class="nx">m</span> <span class="o">=</span> <span class="nx">ua</span><span class="p">.</span><span class="nx">match</span><span class="p">(</span><span class="sr">/OS ([^\s]*)/</span><span class="p">);</span>
                <span class="k">if</span> <span class="p">(</span><span class="nx">m</span> <span class="o">&amp;&amp;</span> <span class="nx">m</span><span class="p">[</span><span class="mi">1</span><span class="p">])</span> <span class="p">{</span>
                    <span class="nx">m</span> <span class="o">=</span> <span class="nx">numberify</span><span class="p">(</span><span class="nx">m</span><span class="p">[</span><span class="mi">1</span><span class="p">].</span><span class="nx">replace</span><span class="p">(</span><span class="s1">&#39;_&#39;</span><span class="p">,</span> <span class="s1">&#39;.&#39;</span><span class="p">));</span>
                <span class="p">}</span>
                <span class="nx">o</span><span class="p">.</span><span class="nx">ios</span> <span class="o">=</span> <span class="nx">m</span><span class="p">;</span>
                <span class="nx">o</span><span class="p">.</span><span class="nx">ipad</span> <span class="o">=</span> <span class="nx">o</span><span class="p">.</span><span class="nx">ipod</span> <span class="o">=</span> <span class="nx">o</span><span class="p">.</span><span class="nx">iphone</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span>

                <span class="nx">m</span> <span class="o">=</span> <span class="nx">ua</span><span class="p">.</span><span class="nx">match</span><span class="p">(</span><span class="sr">/iPad|iPod|iPhone/</span><span class="p">);</span>
                <span class="k">if</span> <span class="p">(</span><span class="nx">m</span> <span class="o">&amp;&amp;</span> <span class="nx">m</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span> <span class="p">{</span>
                    <span class="nx">o</span><span class="p">[</span><span class="nx">m</span><span class="p">[</span><span class="mi">0</span><span class="p">].</span><span class="nx">toLowerCase</span><span class="p">()]</span> <span class="o">=</span> <span class="nx">o</span><span class="p">.</span><span class="nx">ios</span><span class="p">;</span>
                <span class="p">}</span>
            <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
                <span class="nx">m</span> <span class="o">=</span> <span class="nx">ua</span><span class="p">.</span><span class="nx">match</span><span class="p">(</span><span class="sr">/NokiaN[^\/]*|Android \d\.\d|webOS\/\d\.\d/</span><span class="p">);</span>
                <span class="k">if</span> <span class="p">(</span><span class="nx">m</span><span class="p">)</span> <span class="p">{</span>
                    <span class="c1">// Nokia N-series, Android, webOS, ex: NokiaN95</span>
                    <span class="nx">o</span><span class="p">.</span><span class="nx">mobile</span> <span class="o">=</span> <span class="nx">m</span><span class="p">[</span><span class="mi">0</span><span class="p">];</span>
                <span class="p">}</span>
                <span class="k">if</span> <span class="p">(</span><span class="sr">/webOS/</span><span class="p">.</span><span class="nx">test</span><span class="p">(</span><span class="nx">ua</span><span class="p">))</span> <span class="p">{</span>
                    <span class="nx">o</span><span class="p">.</span><span class="nx">mobile</span> <span class="o">=</span> <span class="s1">&#39;WebOS&#39;</span><span class="p">;</span>
                    <span class="nx">m</span> <span class="o">=</span> <span class="nx">ua</span><span class="p">.</span><span class="nx">match</span><span class="p">(</span><span class="sr">/webOS\/([^\s]*);/</span><span class="p">);</span>
                    <span class="k">if</span> <span class="p">(</span><span class="nx">m</span> <span class="o">&amp;&amp;</span> <span class="nx">m</span><span class="p">[</span><span class="mi">1</span><span class="p">])</span> <span class="p">{</span>
                        <span class="nx">o</span><span class="p">.</span><span class="nx">webos</span> <span class="o">=</span> <span class="nx">numberify</span><span class="p">(</span><span class="nx">m</span><span class="p">[</span><span class="mi">1</span><span class="p">]);</span>
                    <span class="p">}</span>
                <span class="p">}</span>
                <span class="k">if</span> <span class="p">(</span><span class="sr">/ Android/</span><span class="p">.</span><span class="nx">test</span><span class="p">(</span><span class="nx">ua</span><span class="p">))</span> <span class="p">{</span>
                    <span class="nx">o</span><span class="p">.</span><span class="nx">mobile</span> <span class="o">=</span> <span class="s1">&#39;Android&#39;</span><span class="p">;</span>
                    <span class="nx">m</span> <span class="o">=</span> <span class="nx">ua</span><span class="p">.</span><span class="nx">match</span><span class="p">(</span><span class="sr">/Android ([^\s]*);/</span><span class="p">);</span>
                    <span class="k">if</span> <span class="p">(</span><span class="nx">m</span> <span class="o">&amp;&amp;</span> <span class="nx">m</span><span class="p">[</span><span class="mi">1</span><span class="p">])</span> <span class="p">{</span>
                        <span class="nx">o</span><span class="p">.</span><span class="nx">android</span> <span class="o">=</span> <span class="nx">numberify</span><span class="p">(</span><span class="nx">m</span><span class="p">[</span><span class="mi">1</span><span class="p">]);</span>
                    <span class="p">}</span>

                <span class="p">}</span>
            <span class="p">}</span>

            <span class="nx">m</span> <span class="o">=</span> <span class="nx">ua</span><span class="p">.</span><span class="nx">match</span><span class="p">(</span><span class="sr">/Chrome\/([^\s]*)/</span><span class="p">);</span>
            <span class="k">if</span> <span class="p">(</span><span class="nx">m</span> <span class="o">&amp;&amp;</span> <span class="nx">m</span><span class="p">[</span><span class="mi">1</span><span class="p">])</span> <span class="p">{</span>
                <span class="nx">o</span><span class="p">.</span><span class="nx">chrome</span> <span class="o">=</span> <span class="nx">numberify</span><span class="p">(</span><span class="nx">m</span><span class="p">[</span><span class="mi">1</span><span class="p">]);</span> <span class="c1">// Chrome</span>
            <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
                <span class="nx">m</span> <span class="o">=</span> <span class="nx">ua</span><span class="p">.</span><span class="nx">match</span><span class="p">(</span><span class="sr">/AdobeAIR\/([^\s]*)/</span><span class="p">);</span>
                <span class="k">if</span> <span class="p">(</span><span class="nx">m</span><span class="p">)</span> <span class="p">{</span>
                    <span class="nx">o</span><span class="p">.</span><span class="nx">air</span> <span class="o">=</span> <span class="nx">m</span><span class="p">[</span><span class="mi">0</span><span class="p">];</span> <span class="c1">// Adobe AIR 1.0 or better</span>
                <span class="p">}</span>
            <span class="p">}</span>
        <span class="p">}</span>

        <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="nx">o</span><span class="p">.</span><span class="nx">webkit</span><span class="p">)</span> <span class="p">{</span> <span class="c1">// not webkit</span>
<span class="c1">// @todo check Opera/8.01 (J2ME/MIDP; Opera Mini/2.0.4509/1316; fi; U; ssr)</span>
            <span class="nx">m</span> <span class="o">=</span> <span class="nx">ua</span><span class="p">.</span><span class="nx">match</span><span class="p">(</span><span class="sr">/Opera[\s\/]([^\s]*)/</span><span class="p">);</span>
            <span class="k">if</span> <span class="p">(</span><span class="nx">m</span> <span class="o">&amp;&amp;</span> <span class="nx">m</span><span class="p">[</span><span class="mi">1</span><span class="p">])</span> <span class="p">{</span>
                <span class="nx">o</span><span class="p">.</span><span class="nx">opera</span> <span class="o">=</span> <span class="nx">numberify</span><span class="p">(</span><span class="nx">m</span><span class="p">[</span><span class="mi">1</span><span class="p">]);</span>
                <span class="nx">m</span> <span class="o">=</span> <span class="nx">ua</span><span class="p">.</span><span class="nx">match</span><span class="p">(</span><span class="sr">/Version\/([^\s]*)/</span><span class="p">);</span>
                <span class="k">if</span> <span class="p">(</span><span class="nx">m</span> <span class="o">&amp;&amp;</span> <span class="nx">m</span><span class="p">[</span><span class="mi">1</span><span class="p">])</span> <span class="p">{</span>
                    <span class="nx">o</span><span class="p">.</span><span class="nx">opera</span> <span class="o">=</span> <span class="nx">numberify</span><span class="p">(</span><span class="nx">m</span><span class="p">[</span><span class="mi">1</span><span class="p">]);</span> <span class="c1">// opera 10+</span>
                <span class="p">}</span>
                <span class="nx">m</span> <span class="o">=</span> <span class="nx">ua</span><span class="p">.</span><span class="nx">match</span><span class="p">(</span><span class="sr">/Opera Mini[^;]*/</span><span class="p">);</span>
                <span class="k">if</span> <span class="p">(</span><span class="nx">m</span><span class="p">)</span> <span class="p">{</span>
                    <span class="nx">o</span><span class="p">.</span><span class="nx">mobile</span> <span class="o">=</span> <span class="nx">m</span><span class="p">[</span><span class="mi">0</span><span class="p">];</span> <span class="c1">// ex: Opera Mini/2.0.4509/1316</span>
                <span class="p">}</span>
            <span class="p">}</span> <span class="k">else</span> <span class="p">{</span> <span class="c1">// not opera or webkit</span>
                <span class="nx">m</span> <span class="o">=</span> <span class="nx">ua</span><span class="p">.</span><span class="nx">match</span><span class="p">(</span><span class="sr">/MSIE\s([^;]*)/</span><span class="p">);</span>
                <span class="k">if</span> <span class="p">(</span><span class="nx">m</span> <span class="o">&amp;&amp;</span> <span class="nx">m</span><span class="p">[</span><span class="mi">1</span><span class="p">])</span> <span class="p">{</span>
                    <span class="nx">o</span><span class="p">.</span><span class="nx">ie</span> <span class="o">=</span> <span class="nx">numberify</span><span class="p">(</span><span class="nx">m</span><span class="p">[</span><span class="mi">1</span><span class="p">]);</span>
                <span class="p">}</span> <span class="k">else</span> <span class="p">{</span> <span class="c1">// not opera, webkit, or ie</span>
                    <span class="nx">m</span> <span class="o">=</span> <span class="nx">ua</span><span class="p">.</span><span class="nx">match</span><span class="p">(</span><span class="sr">/Gecko\/([^\s]*)/</span><span class="p">);</span>
                    <span class="k">if</span> <span class="p">(</span><span class="nx">m</span><span class="p">)</span> <span class="p">{</span>
                        <span class="nx">o</span><span class="p">.</span><span class="nx">gecko</span> <span class="o">=</span> <span class="mi">1</span><span class="p">;</span> <span class="c1">// Gecko detected, look for revision</span>
                        <span class="nx">m</span> <span class="o">=</span> <span class="nx">ua</span><span class="p">.</span><span class="nx">match</span><span class="p">(</span><span class="sr">/rv:([^\s\)]*)/</span><span class="p">);</span>
                        <span class="k">if</span> <span class="p">(</span><span class="nx">m</span> <span class="o">&amp;&amp;</span> <span class="nx">m</span><span class="p">[</span><span class="mi">1</span><span class="p">])</span> <span class="p">{</span>
                            <span class="nx">o</span><span class="p">.</span><span class="nx">gecko</span> <span class="o">=</span> <span class="nx">numberify</span><span class="p">(</span><span class="nx">m</span><span class="p">[</span><span class="mi">1</span><span class="p">]);</span>
                        <span class="p">}</span>
                    <span class="p">}</span>
                <span class="p">}</span>
            <span class="p">}</span>
        <span class="p">}</span>
    <span class="p">}</span>

    <span class="k">return</span> <span class="nx">o</span><span class="p">;</span>
<span class="p">};</span>

<span class="nx">YAHOO</span><span class="p">.</span><span class="nx">env</span><span class="p">.</span><span class="nx">ua</span> <span class="o">=</span> <span class="nx">YAHOO</span><span class="p">.</span><span class="nx">env</span><span class="p">.</span><span class="nx">parseUA</span><span class="p">();</span>

<span class="cm">/*</span>
<span class="cm"> * Initializes the global by creating the default namespaces and applying</span>
<span class="cm"> * any new configuration information that is detected.  This is the setup</span>
<span class="cm"> * for env.</span>
<span class="cm"> * @method init</span>
<span class="cm"> * @static</span>
<span class="cm"> * @private</span>
<span class="cm"> */</span>
<span class="p">(</span><span class="kd">function</span><span class="p">()</span> <span class="p">{</span>
    <span class="nx">YAHOO</span><span class="p">.</span><span class="nx">namespace</span><span class="p">(</span><span class="s2">&quot;util&quot;</span><span class="p">,</span> <span class="s2">&quot;widget&quot;</span><span class="p">,</span> <span class="s2">&quot;example&quot;</span><span class="p">);</span>
    <span class="cm">/*global YAHOO_config*/</span>
    <span class="k">if</span> <span class="p">(</span><span class="s2">&quot;undefined&quot;</span> <span class="o">!==</span> <span class="k">typeof</span> <span class="nx">YAHOO_config</span><span class="p">)</span> <span class="p">{</span>
        <span class="kd">var</span> <span class="nx">l</span><span class="o">=</span><span class="nx">YAHOO_config</span><span class="p">.</span><span class="nx">listener</span><span class="p">,</span> <span class="nx">ls</span><span class="o">=</span><span class="nx">YAHOO</span><span class="p">.</span><span class="nx">env</span><span class="p">.</span><span class="nx">listeners</span><span class="p">,</span><span class="nx">unique</span><span class="o">=</span><span class="kc">true</span><span class="p">,</span> <span class="nx">i</span><span class="p">;</span>
        <span class="k">if</span> <span class="p">(</span><span class="nx">l</span><span class="p">)</span> <span class="p">{</span>
            <span class="c1">// if YAHOO is loaded multiple times we need to check to see if</span>
            <span class="c1">// this is a new config object.  If it is, add the new component</span>
            <span class="c1">// load listener to the stack</span>
            <span class="k">for</span> <span class="p">(</span><span class="nx">i</span><span class="o">=</span><span class="mi">0</span><span class="p">;</span> <span class="nx">i</span><span class="o">&lt;</span><span class="nx">ls</span><span class="p">.</span><span class="nx">length</span><span class="p">;</span> <span class="nx">i</span><span class="o">++</span><span class="p">)</span> <span class="p">{</span>
                <span class="k">if</span> <span class="p">(</span><span class="nx">ls</span><span class="p">[</span><span class="nx">i</span><span class="p">]</span> <span class="o">==</span> <span class="nx">l</span><span class="p">)</span> <span class="p">{</span>
                    <span class="nx">unique</span> <span class="o">=</span> <span class="kc">false</span><span class="p">;</span>
                    <span class="k">break</span><span class="p">;</span>
                <span class="p">}</span>
            <span class="p">}</span>

            <span class="k">if</span> <span class="p">(</span><span class="nx">unique</span><span class="p">)</span> <span class="p">{</span>
                <span class="nx">ls</span><span class="p">.</span><span class="nx">push</span><span class="p">(</span><span class="nx">l</span><span class="p">);</span>
            <span class="p">}</span>
        <span class="p">}</span>
    <span class="p">}</span>
<span class="p">})();</span>
</pre></div>

                    </div>
			</div>
		</div>
		<div class="yui-b">
            <div class="nav">

                    <div id="moduleList" class="module">
                        <h4>Modules</h4>
                        <ul class="content">
                                <li class=""><a href="module_animation.html" title="animation">animation</a></li>
                                <li class=""><a href="module_autocomplete.html" title="autocomplete">autocomplete</a></li>
                                <li class=""><a href="module_button.html" title="button">button</a></li>
                                <li class=""><a href="module_calendar.html" title="calendar">calendar</a></li>
                                <li class=""><a href="module_carousel.html" title="carousel">carousel</a></li>
                                <li class=""><a href="module_charts.html" title="charts">charts</a></li>
                                <li class=""><a href="module_colorpicker.html" title="colorpicker">colorpicker</a></li>
                                <li class=""><a href="module_connection.html" title="connection">connection</a></li>
                                <li class=""><a href="module_container.html" title="container">container</a></li>
                                <li class=""><a href="module_cookie.html" title="cookie">cookie</a></li>
                                <li class=""><a href="module_datasource.html" title="datasource">datasource</a></li>
                                <li class=""><a href="module_datatable.html" title="datatable">datatable</a></li>
                                <li class=""><a href="module_datemath.html" title="datemath">datemath</a></li>
                                <li class=""><a href="module_dom.html" title="dom">dom</a></li>
                                <li class=""><a href="module_dragdrop.html" title="dragdrop">dragdrop</a></li>
                                <li class=""><a href="module_editor.html" title="editor">editor</a></li>
                                <li class=""><a href="module_element.html" title="element">element</a></li>
                                <li class=""><a href="module_element-delegate.html" title="element-delegate">element-delegate</a></li>
                                <li class=""><a href="module_event.html" title="event">event</a></li>
                                <li class=""><a href="module_event-delegate.html" title="event-delegate">event-delegate</a></li>
                                <li class=""><a href="module_event-mouseenter.html" title="event-mouseenter">event-mouseenter</a></li>
                                <li class=""><a href="module_event-simulate.html" title="event-simulate">event-simulate</a></li>
                                <li class=""><a href="module_get.html" title="get">get</a></li>
                                <li class=""><a href="module_history.html" title="history">history</a></li>
                                <li class=""><a href="module_imagecropper.html" title="imagecropper">imagecropper</a></li>
                                <li class=""><a href="module_imageloader.html" title="imageloader">imageloader</a></li>
                                <li class=""><a href="module_json.html" title="json">json</a></li>
                                <li class=""><a href="module_layout.html" title="layout">layout</a></li>
                                <li class=""><a href="module_logger.html" title="logger">logger</a></li>
                                <li class=""><a href="module_menu.html" title="menu">menu</a></li>
                                <li class=""><a href="module_paginator.html" title="paginator">paginator</a></li>
                                <li class=""><a href="module_profiler.html" title="profiler">profiler</a></li>
                                <li class=""><a href="module_profilerviewer.html" title="profilerviewer">profilerviewer</a></li>
                                <li class=""><a href="module_progressbar.html" title="progressbar">progressbar</a></li>
                                <li class=""><a href="module_resize.html" title="resize">resize</a></li>
                                <li class=""><a href="module_selector.html" title="selector">selector</a></li>
                                <li class=""><a href="module_slider.html" title="slider">slider</a></li>
                                <li class=""><a href="module_storage.html" title="Storage">Storage</a></li>
                                <li class=""><a href="module_stylesheet.html" title="stylesheet">stylesheet</a></li>
                                <li class=""><a href="module_swf.html" title="swf">swf</a></li>
                                <li class=""><a href="module_swfdetect.html" title="swfdetect">swfdetect</a></li>
                                <li class=""><a href="module_swfstore.html" title="swfstore">swfstore</a></li>
                                <li class=""><a href="module_tabview.html" title="tabview">tabview</a></li>
                                <li class=""><a href="module_treeview.html" title="treeview">treeview</a></li>
                                <li class=""><a href="module_uploader.html" title="uploader">uploader</a></li>
                                <li class="selected"><a href="module_yahoo.html" title="yahoo">yahoo</a></li>
                                <li class=""><a href="module_yuiloader.html" title="yuiloader">yuiloader</a></li>
                                <li class=""><a href="module_yuitest.html" title="yuitest">yuitest</a></li>
                        </ul>
                    </div>

                    <div id="classList" class="module">
                        <h4>Classes</h4>
                        <ul class="content">
                                <li class=""><a href="YAHOO.html" title="YAHOO">YAHOO</a></li>
                                <li class=""><a href="YAHOO.env.html" title="YAHOO.env">YAHOO.env</a></li>
                                <li class=""><a href="YAHOO.env.ua.html" title="YAHOO.env.ua">YAHOO.env.ua</a></li>
                                <li class=""><a href="YAHOO.lang.html" title="YAHOO.lang">YAHOO.lang</a></li>
                                <li class=""><a href="YAHOO_config.html" title="YAHOO_config">YAHOO_config</a></li>
                        </ul>
                    </div>

                    <div id="fileList" class="module">
                        <h4>Files</h4>
                        <ul class="content">        
                                <li class="selected"><a href="Env.js.html" title="Env.js">Env.js</a></li>
                                <li class=""><a href="Lang.js.html" title="Lang.js">Lang.js</a></li>
                                <li class=""><a href="YAHOO.js.html" title="YAHOO.js">YAHOO.js</a></li>
                        </ul>
                    </div>





            </div>
		</div>
	</div>
	<div id="ft">
        <hr />
        Copyright &copy; 2011 Yahoo! Inc. All rights reserved.
	</div>
</div>
<script type="text/javascript">

    var ALL_YUI_PROPS = [{"access": "", "host": "YAHOO.env.ua", "name": "air", "url": "YAHOO.env.ua.html#property_air", "type": "property"}, {"access": "", "host": "YAHOO.env.ua", "name": "android", "url": "YAHOO.env.ua.html#property_android", "type": "property"}, {"access": "", "host": "YAHOO.lang", "name": "augment", "url": "YAHOO.lang.html#method_augment", "type": "method"}, {"access": "", "host": "YAHOO", "name": "augment", "url": "YAHOO.html#method_augment", "type": "method"}, {"access": "", "host": "YAHOO.lang", "name": "augmentObject", "url": "YAHOO.lang.html#method_augmentObject", "type": "method"}, {"access": "", "host": "YAHOO.lang", "name": "augmentProto", "url": "YAHOO.lang.html#method_augmentProto", "type": "method"}, {"access": "", "host": "YAHOO.env.ua", "name": "caja", "url": "YAHOO.env.ua.html#property_caja", "type": "property"}, {"access": "", "host": "YAHOO.env.ua", "name": "chrome", "url": "YAHOO.env.ua.html#property_chrome", "type": "property"}, {"access": "", "host": "YAHOO.lang", "name": "dump", "url": "YAHOO.lang.html#method_dump", "type": "method"}, {"access": "", "host": "YAHOO.lang", "name": "escapeHTML", "url": "YAHOO.lang.html#method_escapeHTML", "type": "method"}, {"access": "", "host": "YAHOO.lang", "name": "extend", "url": "YAHOO.lang.html#method_extend", "type": "method"}, {"access": "", "host": "YAHOO", "name": "extend", "url": "YAHOO.html#method_extend", "type": "method"}, {"access": "", "host": "YAHOO.env.ua", "name": "gecko", "url": "YAHOO.env.ua.html#property_gecko", "type": "property"}, {"access": "", "host": "YAHOO.env", "name": "getVersion", "url": "YAHOO.env.html#method_getVersion", "type": "method"}, {"access": "", "host": "YAHOO.lang", "name": "hasOwnProperty", "url": "YAHOO.lang.html#method_hasOwnProperty", "type": "method"}, {"access": "", "host": "YAHOO.env.ua", "name": "ie", "url": "YAHOO.env.ua.html#property_ie", "type": "property"}, {"access": "private", "host": "YAHOO.lang", "name": "_IEEnumFix", "url": "YAHOO.lang.html#property__IEEnumFix", "type": "property"}, {"access": "", "host": "YAHOO_config", "name": "injecting", "url": "YAHOO_config.html#property_injecting", "type": "property"}, {"access": "", "host": "YAHOO.env.ua", "name": "ios", "url": "YAHOO.env.ua.html#property_ios", "type": "property"}, {"access": "", "host": "YAHOO.env.ua", "name": "ipad", "url": "YAHOO.env.ua.html#property_ipad", "type": "property"}, {"access": "", "host": "YAHOO.env.ua", "name": "iphone", "url": "YAHOO.env.ua.html#property_iphone", "type": "property"}, {"access": "", "host": "YAHOO.env.ua", "name": "ipod", "url": "YAHOO.env.ua.html#property_ipod", "type": "property"}, {"access": "", "host": "YAHOO.lang", "name": "isArray", "url": "YAHOO.lang.html#method_isArray", "type": "method"}, {"access": "", "host": "YAHOO.lang", "name": "isBoolean", "url": "YAHOO.lang.html#method_isBoolean", "type": "method"}, {"access": "", "host": "YAHOO.lang", "name": "isFunction", "url": "YAHOO.lang.html#method_isFunction", "type": "method"}, {"access": "", "host": "YAHOO.lang", "name": "isNull", "url": "YAHOO.lang.html#method_isNull", "type": "method"}, {"access": "", "host": "YAHOO.lang", "name": "isNumber", "url": "YAHOO.lang.html#method_isNumber", "type": "method"}, {"access": "", "host": "YAHOO.lang", "name": "isObject", "url": "YAHOO.lang.html#method_isObject", "type": "method"}, {"access": "", "host": "YAHOO.lang", "name": "isString", "url": "YAHOO.lang.html#method_isString", "type": "method"}, {"access": "", "host": "YAHOO.lang", "name": "isUndefined", "url": "YAHOO.lang.html#method_isUndefined", "type": "method"}, {"access": "", "host": "YAHOO.lang", "name": "isValue", "url": "YAHOO.lang.html#method_isValue", "type": "method"}, {"access": "", "host": "YAHOO.lang", "name": "later", "url": "YAHOO.lang.html#method_later", "type": "method"}, {"access": "", "host": "YAHOO_config", "name": "listener", "url": "YAHOO_config.html#property_listener", "type": "property"}, {"access": "", "host": "YAHOO.env", "name": "listeners", "url": "YAHOO.env.html#property_listeners", "type": "property"}, {"access": "", "host": "YAHOO_config", "name": "load", "url": "YAHOO_config.html#property_load", "type": "property"}, {"access": "", "host": "YAHOO_config", "name": "locale", "url": "YAHOO_config.html#property_locale", "type": "property"}, {"access": "", "host": "YAHOO", "name": "log", "url": "YAHOO.html#method_log", "type": "method"}, {"access": "", "host": "YAHOO.lang", "name": "merge", "url": "YAHOO.lang.html#method_merge", "type": "method"}, {"access": "", "host": "YAHOO.env.ua", "name": "mobile", "url": "YAHOO.env.ua.html#property_mobile", "type": "property"}, {"access": "", "host": "YAHOO.env", "name": "modules", "url": "YAHOO.env.html#property_modules", "type": "property"}, {"access": "", "host": "YAHOO", "name": "namespace", "url": "YAHOO.html#method_namespace", "type": "method"}, {"access": "", "host": "YAHOO.env.ua", "name": "opera", "url": "YAHOO.env.ua.html#property_opera", "type": "property"}, {"access": "", "host": "YAHOO.env.ua", "name": "os", "url": "YAHOO.env.ua.html#property_os", "type": "property"}, {"access": "", "host": "YAHOO.env.ua", "name": "parseUA", "url": "YAHOO.env.ua.html#method_parseUA", "type": "method"}, {"access": "", "host": "YAHOO", "name": "register", "url": "YAHOO.html#method_register", "type": "method"}, {"access": "", "host": "YAHOO.env.ua", "name": "secure", "url": "YAHOO.env.ua.html#property_secure", "type": "property"}, {"access": "", "host": "YAHOO.lang", "name": "substitute", "url": "YAHOO.lang.html#method_substitute", "type": "method"}, {"access": "", "host": "YAHOO.lang", "name": "trim", "url": "YAHOO.lang.html#method_trim", "type": "method"}, {"access": "", "host": "YAHOO.env.ua", "name": "webkit", "url": "YAHOO.env.ua.html#property_webkit", "type": "property"}, {"access": "", "host": "YAHOO.env.ua", "name": "webos", "url": "YAHOO.env.ua.html#property_webos", "type": "property"}];
</script>
</body>
</html>
